Artificial neural networks attempt to replicate the structure and/or function of biological neural networks. Biological neural networks typically include a number of neurons which are interconnected by chemical synapses. These chemical synapses are specialized junctions through which neurons transmit signals within the biological neural network. The combination of neurons and synapses provide for biological computations that underlie perceptions, thought, and learning. As the biological neural network is exposed to an input stimulus, some of the neurons and/or synapses undergo a self-learning process using locally available information. This self learning allows the network to adapt to new stimulus while retaining a memory of previous stimulus.
Implementing an artificial neural network within a computer architecture can be challenging. The elementary components of a silicon based computer, the capacitor, resistor, inductor and transistor, do not have intrinsic memory capabilities analogous to neurons or synapses. Consequently, many existing artificial neural networks rely on complex hardware implementations or software simulations. Another difference between biological neural networks and artificial neural networks is that while neural networks use locally available information, artificial neural networks typically rely on one or more global variables. These and other limitations have resulted in artificial neural networks which are complex, resource intensive, and have limited capabilities.
Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.